package vistas;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.util.List;

import javax.swing.AbstractListModel;
import javax.swing.BorderFactory;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListModel;

import javax.swing.WindowConstants;
import javax.swing.border.LineBorder;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.SwingUtilities;

import modelo.Venta;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class JFVenta extends javax.swing.JFrame {
	private JPanel JPVenta;
	private JTable JTproductoventa;
	private JScrollPane jSproducto;
	private JTextField JTTotal;
	private JLabel JLTotal;
	private JTextField JTCantidad;
	private JLabel JLPedido;
	private JComboBox JCPedido;
	private JButton JBCancelar;
	private JButton JBIncluir;
	private JButton JBRemover;
	private JButton JBAgregar;
	private JPanel JPPedido;
	private JLabel JLnombreCliente;
	private JTextField JTnombreCliente;
	private JLabel JLciCliente;
	private JTextField JTciCliente;
	private JPanel JPCliente;
	private JTextField JTCodigoV;
	private JLabel JLCodigo;
	private JPanel JPDatos;

	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				JFVenta inst = new JFVenta();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}
	
	public JFVenta() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			this.setTitle("Laboratorio   Burguer");
			{
				JPVenta = new JPanel();
				getContentPane().add(JPVenta, BorderLayout.CENTER);
				JPVenta.setBorder(BorderFactory.createTitledBorder("Actualizar Venta"));
				JPVenta.setLayout(null);
				JPVenta.setPreferredSize(new java.awt.Dimension(760, 528));
				{
					JPDatos = new JPanel();
					JPVenta.add(JPDatos);
					JPDatos.setBorder(BorderFactory.createTitledBorder("Datos de la Venta"));
					JPDatos.setLayout(null);
					JPDatos.setBounds(41, 42, 693, 545);
					{
						JLCodigo = new JLabel();
						JPDatos.add(JLCodigo);
						JLCodigo.setText("Codigo:");
						JLCodigo.setBounds(235, 36, 105, 15);
					}
					{
						JTCodigoV = new JTextField();
						JPDatos.add(JTCodigoV);
						JTCodigoV.setBounds(301, 32, 111, 25);
					}
					{
						JPCliente = new JPanel();
						JPDatos.add(JPCliente);
						JPCliente.setBorder(BorderFactory.createTitledBorder("Datos del Cliente"));
						JPCliente.setLayout(null);
						JPCliente.setBounds(131, 69, 365, 125);
						{
							JTciCliente = new JTextField();
							JPCliente.add(JTciCliente);
							JTciCliente.setBounds(163, 70, 119, 22);
						}
						{
							JLciCliente = new JLabel();
							JPCliente.add(JLciCliente);
							JLciCliente.setText("Cedula:");
							JLciCliente.setBounds(106, 73, 86, 15);
						}
						{
							JTnombreCliente = new JTextField();
							JPCliente.add(JTnombreCliente);
							JTnombreCliente.setBounds(164, 38, 119, 22);
						}
						{
							JLnombreCliente = new JLabel();
							JPCliente.add(JLnombreCliente);
							JLnombreCliente.setText("Nombre:");
							JLnombreCliente.setBounds(101, 41, 84, 15);
						}
					}
					{
						JPPedido = new JPanel();
						JPDatos.add(JPPedido);
						JPPedido.setLayout(null);
						JPPedido.setBorder(BorderFactory.createTitledBorder("Pedidos"));
						JPPedido.setBounds(56, 206, 572, 231);
						
						{
							
							JBAgregar = new JButton();
							JPPedido.add(JBAgregar);
							JBAgregar.setText("Agregar");
							JBAgregar.setBounds(464, 95, 97, 28);
							JBAgregar.setActionCommand("Agregar");
						}
						{
							JBRemover = new JButton();
							JPPedido.add(JBRemover);
							JBRemover.setText("Remover");
							JBRemover.setBounds(464, 133, 97, 28);
							JBRemover.setActionCommand("Sustituir");
						}
						{
							ComboBoxModel JCPedidoModel = 
								new DefaultComboBoxModel(
										new String[] { "Item One", "Item Two" });
							JCPedido = new JComboBox();
							JPPedido.add(JCPedido);
							JCPedido.setModel(JCPedidoModel);
							JCPedido.setBounds(205, 50, 190, 22);
						}
						{
							JLPedido = new JLabel();
							JPPedido.add(JLPedido);
							JLPedido.setText("Producto:");
							JLPedido.setBounds(95, 53, 90, 15);
						}
						{
							JTCantidad = new JTextField();
							JPPedido.add(JTCantidad);
							JTCantidad.setBounds(170, 50, 35, 23);
						}
						{
							jSproducto = new JScrollPane();
							JPPedido.add(jSproducto);
							jSproducto.setBounds(17, 74, 441, 140);
						tabla();
						}
					}
					{
						JBIncluir = new JButton();
						JPDatos.add(JBIncluir);
						JBIncluir.setText("Guardar");
						JBIncluir.setBounds(181, 488, 133, 30);
					}
					{
						JBCancelar = new JButton();
						JPDatos.add(JBCancelar);
						JBCancelar.setText("Cancelar");
						JBCancelar.setBounds(334, 486, 133, 33);
						JBCancelar.setActionCommand("Cancelar");
					}
					{
						JLTotal = new JLabel();
						JPDatos.add(JLTotal);
						JLTotal.setText("Total BsF:");
						JLTotal.setBounds(303, 449, 83, 15);
						
					}
					{
						JTTotal = new JTextField();
						JPDatos.add(JTTotal);
						JTTotal.setBounds(387, 449, 85, 14);
						JTTotal.enable(false);
					}
				}
			}
			pack();
			this.setSize(771, 634);
		} catch (Exception e) {
		   
			e.printStackTrace();
		}
	}

	public JTextField getJTCantidad() {
		return JTCantidad;
	}

	public void setJTCantidad(JTextField jTCantidad) {
		JTCantidad = jTCantidad;
	}

	public JComboBox getJCPedido() {
		return JCPedido;
	}

	public void setJCPedido(JComboBox jCPedido) {
		JCPedido = jCPedido;
	}

	public JTextField getJTnombreCliente() {
		return JTnombreCliente;
	}
	
	public void tabla(){
		
			TableModel JTproductoventaModel = 
				new DefaultTableModel(
						new String[][] { },
						new String[] { "Codigo", "Producto", "Cantidad", "Precio" });
			JTproductoventa = new JTable();
			jSproducto.setViewportView(JTproductoventa);
			JTproductoventa.setPreferredSize(new java.awt.Dimension(323, 43));
			JTproductoventa.setModel(JTproductoventaModel);
		
	}

	public void setJTnombreCliente(JTextField jTnombreCliente) {
		JTnombreCliente = jTnombreCliente;
	}

	public JTextField getJTciCliente() {
		return JTciCliente;
	}

	public void setJTciCliente(JTextField jTciCliente) {
		JTciCliente = jTciCliente;
	}

	public JTextField getJTCodigoV() {
		return JTCodigoV;
	}

	public void setJTCodigoV(JTextField jTCodigoV) {
		JTCodigoV = jTCodigoV;
	}
	
	
	public JTextField getJTTotal() {
		return JTTotal;
	}

	public void setJTTotal(JTextField jTTotal) {
		JTTotal = jTTotal;
	}

	public JTable getJTproductoventa() {
		return JTproductoventa;
	}

	public void setJTproductoventa(JTable jTproductoventa) {
		JTproductoventa = jTproductoventa;
	}

	public void addListener(ActionListener actionListener){
		this.JBIncluir.addActionListener(actionListener);
		this.JBCancelar.addActionListener(actionListener);
		this.JBRemover.addActionListener(actionListener);
		this.JBAgregar.addActionListener(actionListener);
	}

	
public void limpiar()
	
	{
	    JTCodigoV.setText(" ");
	    JTciCliente.setText(" ");
	    JTnombreCliente.setText(" ");
	    JTCantidad.setText(" ");
	    JBIncluir.setText("Guardar");
	    tabla();
	}
	
	public void  mostrarMensaje(String mensaje){
		JOptionPane.showMessageDialog(this, mensaje);
			
	}
	
   public void llenarCampos(Venta venta){
		
	   JTCodigoV.setText(venta.getCodVenta());
	   JTciCliente.setText(venta.getCiCliente());
	   JTnombreCliente.setText(venta.getNombreCliente());
	   JTCodigoV.enable(false);
	   JBIncluir.setText("Actualizar");
				
	}

   public void setcargarComboProducto(List<String> producto) 
	{
		ComboBoxModel JCPedidoModel =  new DefaultComboBoxModel(producto.toArray());
		JCPedido.setModel(JCPedidoModel); 
	}

	public void setproductoscomprados(AbstractTableModel abstractTableModel) {
		   JTproductoventa.setModel(abstractTableModel);
		}
}
